Kameleon-Plus  0.3.2
MAS.h
Go to the documentation of this file.
1 /*
2  * MAS.h
3  *
4  * Created on: Jul 9, 2009
5  * Author: dberrios
6  */
7 
8 #ifndef MAS_H_
9 #define MAS_H_
10 
11 #include "Model.h"
12 #include <boost/unordered_map.hpp>
13 
14 namespace ccmc
15 {
22  class MAS: public Model
23  {
24  public:
25  MAS();
26  long open(const std::string& filename);
28 
29  const std::vector<float>* const getRPosGrid(const std::string& variable);
30  const std::vector<float>* const getRPosGrid(long variable_id);
31  std::string getRPosGridName(const std::string& variable);
32  std::string getRPosGridName(long variable);
33 
34  const std::vector<float>* const getLatPosGrid(const std::string& variable);
35  const std::vector<float>* const getLatPosGrid(long variable_id);
36  std::string getLatPosGridName(const std::string& variable);
37  std::string getLatPosGridName(long variable_id);
38 
39  const std::vector<float>* const getLonPosGrid(long variable_id);
40  const std::vector<float>* const getlonPosGrid(const std::string& variable);
41  std::string getLonPosGridName(const std::string& variable);
42  std::string getLonPosGridName(long variable_id);
43 
44  bool getChangeSignFlag(std::string variable);
45  bool getChangeSignFlag(long variable_id);
46  const std::vector<std::string> getLoadedVariables();
47  virtual ~MAS();
48 
49  protected:
51  void initializeSIUnits();
52 
53  private:
54 
55  void initializeMaps();
56 
57  boost::unordered_map<std::string, std::string> rPosGrid;
58  boost::unordered_map<long, std::string> rPosGridByID;
59 
60  boost::unordered_map<std::string, std::string> latPosGrid;
61  boost::unordered_map<long, std::string> latPosGridByID;
62 
63  boost::unordered_map<std::string, std::string> lonPosGrid;
64  boost::unordered_map<long, std::string> lonPosGridByID;
65 
66  boost::unordered_map<std::string, bool> changeSignFlag;
67  boost::unordered_map<long, bool> changeSignFlagByID;
68 
69  };
70 }
71 #endif /* MAS_H_ */